package com.yanqu.road.entity.log.foxcard;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.foxcard.FoxHandCard;
import com.yanqu.road.entity.activity.foxcard.FoxSaleCard;
import com.yanqu.road.entity.log.ServerBaseLog;
import com.yanqu.road.entity.log.maidian.BaseLogEntity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_l_ck_activity_foxcard_refresh", desc = "黑狐入侵刷新", autoSave = true, dataUpload = true, eventName = "red_blackrefresh",uploadCk = true)
public class LogFoxCardRefresh extends ServerBaseLog {

    @FieldTypeAnnotation(desc = "活动ID", isIndex = true, dataAttribute = "activityid")
    private int activityId;
    @FieldTypeAnnotation(desc = "玩家ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "关卡id", dataAttribute = "red_blacklev")
    private int stageId;
    @FieldTypeAnnotation(desc = "回合数", dataAttribute = "red_blackid")
    private int round;
    @FieldTypeAnnotation(desc = "刷新前的销售卡牌", dataAttribute = "red_blackrefreshbef", saveJson = true)
    private List<FoxSaleCard> saleCardsBefore = new ArrayList<>();
    @FieldTypeAnnotation(desc = "刷新后的销售卡牌", dataAttribute = "red_blackrefreshaft", saveJson = true)
    private List<FoxSaleCard> saleCardsAfter = new ArrayList<>();
    @FieldTypeAnnotation(desc = "已刷新次数", dataAttribute = "red_blackrefreshnum")
    private int refreshAmount;
    @FieldTypeAnnotation(desc = "刷新价格", dataAttribute = "red_blackrefreshpri")
    private int refreshPrice;
    @FieldTypeAnnotation(desc = "免费的次数", dataAttribute = "red_blackrefreshfree")
    private int freeTimes;
    @FieldTypeAnnotation(desc = "金币数量", dataAttribute = "red_blackcoin")
    private int gold;
    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public LogFoxCardRefresh(int activityId, long userId, int stageId, int round) {
        this.activityId = activityId;
        this.userId = userId;
        this.stageId = stageId;
        this.round = round;
        this.logTime = new Date();
    }

    @Override
    public long getUserId() {
        return userId;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getStageId() {
        return stageId;
    }

    public void setStageId(int stageId) {
        this.stageId = stageId;
    }

    public int getRound() {
        return round;
    }

    public void setRound(int round) {
        this.round = round;
    }

    public List<FoxSaleCard> getSaleCardsBefore() {
        return saleCardsBefore;
    }

    public void setSaleCardsBefore(List<FoxSaleCard> saleCardsBefore) {
        this.saleCardsBefore = saleCardsBefore;
    }

    public List<FoxSaleCard> getSaleCardsAfter() {
        return saleCardsAfter;
    }

    public void setSaleCardsAfter(List<FoxSaleCard> saleCardsAfter) {
        this.saleCardsAfter = saleCardsAfter;
    }

    public int getRefreshAmount() {
        return refreshAmount;
    }

    public void setRefreshAmount(int refreshAmount) {
        this.refreshAmount = refreshAmount;
    }

    public int getRefreshPrice() {
        return refreshPrice;
    }

    public void setRefreshPrice(int refreshPrice) {
        this.refreshPrice = refreshPrice;
    }

    public int getFreeTimes() {
        return freeTimes;
    }

    public void setFreeTimes(int freeTimes) {
        this.freeTimes = freeTimes;
    }

    public int getGold() {
        return gold;
    }

    public void setGold(int gold) {
        this.gold = gold;
    }

    public Date getLogTime() {
        return logTime;
    }

    public void setLogTime(Date logTime) {
        this.logTime = logTime;
    }
}
